#include <iostream>

// 2
// 变量模板

template <typename T>
const T pi = 3.1415926;

template <typename T1, typename T2>
struct Test
{
    T1 a;
    T2 b;
};

template <typename T1>
// 别名模板
// using B = Test<int,T>;  // 简化特化写法

int main()
{
    // 变量模板：同一个变量，用不同的模板去看
    // std::cout << pi<int> << std ::endl;
    // std::cout << pi<double> << std::endl;

    B<double> b;
    b.a;
    return 0;
}
                               